Disk arrays comprising a multiplicity of small inexpensive disk drives, such as the 51/4 or 31/2 inch disk drives currently used in personal computers and workstations, connected in parallel have emerged as a low cost alternative to the use of single large disks for non-volatile storage of information within a computer system. The disk array appears as a single large fast disk to the host system but offers improvements in performance, reliability, power consumption and scalability over a single large magnetic disk. Several disk array alternatives are discussed in an article titled "A Case for Redundant Arrays of Inexpensive Disks (RAID)" by David A. Patterson, Garth Gibson and Randy H. Katz; University of California Report No. UCB/CSD 87/391, December 1987. The article, incorporated herein by reference, discusses disk arrays and the improvements in performance, reliability, power consumption and scalability that disk arrays provide in comparison to single large magnetic disks.
In order to coordinate the operation of the multitude of disk drives within the array to perform read and write functions, parity generation and checking, and data restoration and reconstruction, complex storage management techniques are required. In many of the disk array systems described in the prior art, the host operates as the array controller and performs the parity generation and checking and other storage management operations. Many current disk array systems employ a separate I/O controller associated with the array for controlling the operations listed above, thus removing array operation overhead from the host processor.
In a disk array system employing an array controller, the controller can be designed to operate all or a subset of all the drives within the array as a single logical unit, depending upon the configuration selected for the array; the drives within the logical unit functioning as a single drive. Such an arrangement requires that all the drives within the logical unit provide a single synchronous response to the host controller, allowing the several drives within the logical unit to operate their spindles at the same synchronous rotational rate. This synchronous operation is not supported by many disk drive and disk array vendors. In addition, many available array controllers require a buffer for each drive channel to store data during transmission.